

/* 
1 发送请求 获取文章列表数据 （参数自己的理解 写下来）
  1 为了后期方便修改 请求参数 定义成全局变量 
  2 定义函数 发送请求 获取数据 渲染页面 art-template 来渲染页面

 */
$(function () {
  let params = {
    // string	搜索关键词，可以为空，为空返回某类型所有文章
    key: "",
    // string	文章类型id，可以为空，为空返回所有类型文章
    type: "",
    // string	文章状态，草稿 ，已发布,为空返回所有状态文章
    state: "",
    // number	当前页，为空返回第1页
    page: 1,
    // number	每页显示条数，为空默认每页6条
    perpage: 10
    }
    // 获取文章内容
  function articleQuery() {
       $.get("/admin/article/query",params,function (res) {
           console.log(res);
           const html = template("trTpl", { list: res.data.data })
           $("tbody").html(html)
           renderPager(res.data.totalCount)
    })
    }
    //获取文章列表的数据
     function getCategoryList() {
        $.get("/admin/category/list",function(res) {
            let html = "<option value=''>所有类型</option>"
            res.data.forEach(value => {
                html += `<option value='${value.id}'>${value.name}</option>
                `
            });
            $("#selCategory").html(html)
        })
    }
    // 分页页面的渲染
    function renderPager(count) {
          // layui.laypage.render({
          //   elem: 'pager', //注意，这里的 test1 是 ID，不用加 # 号
          //    count //数据总数，从服务端得到
          //       });
        layui.laypage.render({
            elem: 'pager', //注意，这里的 test1 是 ID，不用加 # 号
            count , //数据总数，从服务端得到
            // 默认页码
            limit: params.perpage,
            // 点击页面事件
             curr: params.page,
            jump: function(obj, first){
            //obj包含了当前分页的所有参数，比如：
            console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
            console.log(obj.limit); //得到每页显示的条数
            
            //首次不执行
                if (!first) {
                    params.page = obj.curr
                    articleQuery()
              //do something
    }
  }
            
  });
        
  }
  
  // 4给按钮做事件
  $("#btnSearch").click(function () {
    // 1请求参数
    // 标题
    params.key = $("#aname").val()
    // 文章
    params.type = $("#selCategory").val()
    // 发布类型
    params.state = $("#selStatus").val()
   
    // 选中重置
    params.page = 1
     articleQuery()
  })
  //  5给重置按钮做事件
  $("#btnReset").click(function () {
      params = { key: "", type: "", state: "", page: 1, perpage: 10 }
    $("#aname").val("")
    $("#selCategory").val("")
    $("#selStatus").val("")
     articleQuery()
  })
  
  //  6删除委托
   $("tbody").on("click", ".delete", function () {
    // console.log(12345);
     layer.confirm("你确定删除吗", (index) => {
       layer.close(index);
       const id = $(this).parents("tr").data("id")
       $.post("/admin/article/delete", { id }, function (res) {
        if (res.code === 200) {
          // 刷新数据
          articleQuery();
        }
     })
       
  
  })
     })

   
    
    articleQuery()
    getCategoryList()
})